#ifndef _App_h_
#define _App_h_

/**
GameApplication
Controls the flow of the game, setup, initialize systems and managers
handles state of the game: menu, road (home), encounter, scout, location, battle
responds to global events: pause / restore, restart, exit, home

Encounter, Location -> Combat
*/

#include <string>
#include <map>

class AppState
{
public:
	AppState();

	virtual void start();
	virtual void stop();
	
};

class App
{
public:
	App();

	virtual void create();
	void addState(AppState* appState);
	void setState(const std::string& name);

private:
	std::map<std::string, AppState*> states;
};

#endif
